This disclosure relates generally to computer graphics and depiction of images of objects using computer enabled imaging, and in one example to the representation of polygonal objects and color mapping.
Visualization of volumetric objects which are represented by three dimensional scalar fields is one of the most complete, realistic, and accurate ways to represent internal and external structures of real 3-D (three dimensional) objects. As an example, Computer Tomography (CT) digitizes images of real 3-D objects (such as inside the human body) and represents them as a discrete 3-D scalar field representation. MRI (Magnetic Resonant Imaging) is another system to scan and depict internal structures of real 3-D objects (e.g., portions of the human body). As another example, the petroleum industry uses seismic imaging techniques to generate a 3-D image volume of a 3-D region in the earth. As in the human body, some important structures, such as geological faults or salt domes, may be embedded within the region and are not necessarily on the exterior surface of the region.
Direct volume rendering is a well-known computer graphics technique for visualizing the interior of a 3-D region represented by such a 3-D image volume on a 2-D image plane, e.g., as displayed on a computer monitor. Hence a typical 3-D dataset is a group of 2-D image “slices” of a real object generated by the CT or MRI machine or seismic imaging. Typically the scalar attribute or voxel (volume element) at any point within the image volume is associated with a plurality of classification properties, such as color—red, green, blue—and opacity, which can be defined by a set of lookup tables. During computer rendering, a plurality of “rays” is cast from the 2-D image plane into the volume and the rays are each attenuated or reflected by the volume. The amount of attenuated or reflected ray “energy” of each ray is indicative of the 3-D characteristics of the objects embedded within the image volume, e.g., their shapes and orientations, and further determines a pixel value on the 2-D image plane in accordance with the opacity and color mapping of the volume along the corresponding ray path. The pixel values associated with the plurality of ray origins on the 2-D image plane form an image that can be rendered by computer software on a computer monitor. Computer enabled volume rendering as described here may use conventional volume ray tracing, volume ray casting, splatting, shear warping, or texture mapping.
In the CT example discussed above, even though a doctor using MRI equipment and conventional methods can arbitrarily generate 2-D image slices (cuts) of e.g., a human heart by intercepting the image volume in any direction, no single image slice is able to visualize the entire exterior surface of the heart. In contrast, a 2-D image generated through direct volume rendering of the CT image volume can easily display on an associated computer monitor the 3-D characteristics of the heart, which is very important in many types of cardiovascular disease diagnosis. Similarly in the field of oil exploration, direct volume rendering of 3-D seismic data has proved to be a powerful tool that can help petroleum engineers to determine more accurately the 3-D characteristics of geological structures embedded in a region that are potential oil reservoirs and to increase oil production significantly.
One of the most common and basic structures used to control volume rendering is the transfer function. Generally in mathematics, a transfer function is a representation of a linear time invariant dynamical system. In the context of computer graphics volume rendering, a transfer function defines the classification or translation of the original pixels of volumetric data (expressed as scalar values) to its representation on the associated computer monitor screen as a set of colors (or gray scale). Commonly used transfer functions convert the original (e.g., density) pixel data to a color—red, green, blue—and opacity classification. Hence each pixel as displayed has a color and opacity value defined from the original density or other data using a transfer function. The transfer function itself is mathematically, e.g., a simple ramp, a piecewise linear function or a lookup table. Note that the colors and opacity defined by the transfer function are arbitrary and not that of the actual depicted object. More generally, transfer functions in this context assign renderable (by volume rendering) optical properties to the numerical values (for each pixel) of the original dataset. The opacity function determines the contribution of each voxel to the final (rendered) image.
One of the most common needs of volume rendering applications is the extraction of traditional computer graphics polygonal objects from volumetric data. A polygon in computer graphics is a 2-D shape. Its position is defined by the XYZ coordinates of its vertices (corners). Volumetric data and polygonal object models representing the volumetric data are very different kinds of data in this field; volumetric data is a 3-D array of pixels while the well-known polygonal object model is a list of polygonal objects such as triangles or rectangles which are each represented by a grouping of correspondent XYZ vertices with assigned colors at each vertex.
Though direct volume rendering plays a key role in many important fields, traditional 3-D graphics is based on the expected polygonal object representation of 3-D objects. Thus, porting the visual information from volume rendered images to polygonal object models is a significant technical problem.